As an increasing number of applications and services are being made available over networks such as the Internet, an increasing number of content, application, and/or service providers are turning to technologies such as cloud computing. Cloud computing, in general, is an approach to providing access to electronic resources through services, such as Web services, where the hardware and/or software used to support those services is dynamically scalable to meet the needs of the services at any given time. A user or customer typically will rent, lease, or otherwise pay for access to resources through the cloud, and thus does not have to purchase and maintain the hardware and/or software to provide access to these resources.
Often, customers wanting to utilize these resources must build or otherwise provide a mechanism for differentiating between users, authenticating users, and otherwise controlling access to various resources provided as part of the cloud offering. This often entails the customer providing some type of user management system that is under control of the customer. Customers often underestimate the complexity of building such a system, and often inadvertently provide systems that are easily broken into by malicious parties. Even large companies often do not implement such systems correctly, as high profile companies have had sites hacked into and passwords stolen, among other such activity.